package com.yc.jpyy.vehicle.dao;

import java.util.List;
import java.util.Map;

import org.springframework.dao.DataAccessException;

import com.yc.jpyy.base.dao.BaseDao;

public interface VehicleDao extends BaseDao {
	
  int update(Map<String, Object> paramsMap)throws DataAccessException;
  
  List<Map<String, Object>> select(Map<String, Object> paramsMap)throws DataAccessException;
  
  List<Map<String, Object>> selects(Map<String, Object> paramsMap)throws DataAccessException;
  
  int updates(Map<String, Object> paramsMap)throws DataAccessException;
	
  //检查票
  int checkTicket(Map<String, Object> paramsMap)throws DataAccessException;
  
  //检查票
  List<String> checkTickets(Map<String, Object> paramsMap)throws DataAccessException;
  
  //新增票
  int addTicket(Map<String, Object> paramsMap)throws DataAccessException;

  //新增票详细
  int addTiketDetail(List<Map<String, Object>> listMap)throws DataAccessException;
  
  //查询当前页需要的票
  List<Map<String, Object>> queryTiket(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询总票
  int queryTiketCounts(Map<String, Object> paramsMap)throws DataAccessException;
  
  //获取票号
  Map<String, Object> getTicketNum(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新票证
  int updateTicketDetailStatus(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新主表票证状态
  int updateTikeStatus(Map<String, Object> paramsMap)throws DataAccessException;
  
  //根据ID查询票详情
  Map<String, Object>  getTikeById(Map<String, Object> paramsMap)throws DataAccessException;
  
  
  
  //新增车辆
  int addVehicle(Map<String, Object> paramsMap)throws DataAccessException;

  //查询车辆总数
  int queryVehicleCounts(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询车辆
  List<Map<String, Object>> queryVehicle(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新车辆
  int updateVehicle(Map<String, Object> paramsMap)throws DataAccessException;
  
  //检查车辆是否重复
  int checkVehicleId(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询车辆详细信息
  Map<String, Object> queryVehicleById(int id)throws DataAccessException;
  
  //查询车辆详细信息
  Map<String, Object> queryVehicleByWx(Map<String, Object> paramsMap)throws DataAccessException;
  
  //新增车辆操作日志
  int addVehicleOperateLog(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询车辆操作日志总数
  int queryVehicleOperateCounts(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询车辆操作日志记录
  List<Map<String, Object>> queryVehicleOperateLog(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询车辆操作日志详细信息
  Map<String, Object> queryVehicleOperateById(int id)throws DataAccessException;
  
  //更新审核接口
  int updateForCheck(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新状态接口
  int updateForStatus(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新是否锁定接口
  int updateForLock(Map<String, Object> paramsMap)throws DataAccessException;
  
  //更新图片接口
  int updateForImage(Map<String, Object> paramsMap)throws DataAccessException;
  
  
  //车辆年审加一年(过滤车辆年审时间小于当前日期加四个月)
  int updateForAddOneChekYears(Map<String, Object> paramsMap)throws DataAccessException;

  //车辆年审加一年
  int updateForAddOneChekYear(Map<String, Object> paramsMap)throws DataAccessException;

  //车辆年审取当前日期加一年（月日同原来的月日）
  int updateForAddCurrentChekYear(Map<String, Object> paramsMap)throws DataAccessException;

  //查询关联车辆
  List<Map<String, Object>> queryRelationVehicle(Map<String, Object> paramsMap)throws DataAccessException;


  //根据车牌号车辆颜色查询车辆详情
  Map<String, Object> queryVehicleByNumber(Map<String, Object> paramsMap)throws DataAccessException;
  
  int updateTicketDao(Map<String, Object> paramsMap)throws DataAccessException;
  
  int updateTicketDetailDao(Map<String, Object> paramsMap)throws DataAccessException;
  //车龄统计接口
  List<Map<String, Object>> queryVehicleByPietype(Map<String, Object> paramsMap)throws DataAccessException;
//违法事件类型分布
  List<Map<String, Object>> selectEgalBehavoir(Map<String, Object> paramsMap)throws DataAccessException;
//违法事件企业分布
  List<Map<String, Object>> seletCompanyNameCount(Map<String, Object> paramsMap)throws DataAccessException;
  String seletCompanyNameCountnull(Map<String, Object> paramsMap)throws DataAccessException;
//服务上岗证新增统计、轮训培训统计、违规轮训统计接口
  List<Map<String, Object>> seletTrainingCount(Map<String, Object> paramsMap)throws DataAccessException;
//超期轮训统计
  List<Map<String, Object>> seletOverdueTrainingCount(Map<String, Object> paramsMap)throws DataAccessException;
//企业经营情况统计需要的接口
  List<Map<String, Object>> seletCompanyVehicleCount(Map<String, Object> paramsMap)throws DataAccessException;
//企业订单查询
  List<Map<String, Object>> seletCompanyOrderCount(Map<String, Object> paramsMap)throws DataAccessException;
//订单统计查询_订单时段分布
  List<Map<String, Object>> seletCompanyOrderTimeGroup(Map<String, Object> paramsMap)throws DataAccessException;
//车辆运行统计_企业车辆在线统计
  List<Map<String, Object>> findCarOnlineCount(Map<String, Object> paramsMap)throws DataAccessException;

//查询企业名称
  List<Map<String, Object>> findCompanyName(Map<String, Object> paramsMap)throws DataAccessException;
//查询企业名称
  List<Map<String, Object>> getCountByBrandType(Map<String, Object> paramsMap)throws DataAccessException;

  //查询车辆主键ID，车牌号及颜色
  List<Map<String, Object>> queryVehicleInfo(Map<String, Object> paramsMap)throws DataAccessException;
  
  //查询所有库车辆主键ID，车牌号及颜色
  List<Map<String, Object>> queryAllVehicleInfo(Map<String, Object> paramsMap)throws DataAccessException;
  
  Map<String, Object> resetDriverCarRelation(Map<String, Object> paramsMap)throws DataAccessException;
  
  //公司车辆情况统计报表
  List<Map<String, Object>> getVehicleCountInfo(Map<String, Object> paramsMap)throws DataAccessException;
  
  
  List<Map<String, Object>> findVehicleToCarRentalDao(Map<String, Object> paramsMap)throws DataAccessException;
  
  int updateTicketDtailRelation(Map<String, Object> paramsMap)throws DataAccessException;
  
  List<Map<String, Object>> getTikeDetailInfoByTicketId(Map<String, Object> paramsMap)throws DataAccessException;
  
  int getTikeDetailCountByTicketId(Map<String, Object> paramsMap)throws DataAccessException;

  List<Map<String, Object>> getInfofromTikeDetail(Map<String, Object> paramsMap)throws DataAccessException;
  
  List<Map<String, Object>> selectVehicleByIds(Map<String, Object> paramsMap)throws DataAccessException;

  int addBatchVehicleOperateLog(List<Map<String, Object>> paramsMap)throws DataAccessException;
  
  Map<String, Object> checkNumIsExist(Map<String, Object> paramsMap)throws DataAccessException;

  int addLockForVehicle(Map<String, Object> paramsMap)throws DataAccessException;

  int unlockForVehicle(Map<String, Object> paramsMap)throws DataAccessException;

  List<Map<String, Object>> queryVehicleByCname(Map<String, Object> paramsMap)throws DataAccessException;
  
  List<Map<String, Object>> selectServiceEvaluation(Map<String, Object> paramsMap)throws DataAccessException;

  List<Map<String, Object>> selectVehicleCname(Map<String, Object> paramsMap)throws DataAccessException;

  //查询所有车辆
  List<Map<String, Object>> queryAllVehicle(Map<String, Object> paramsMap)throws DataAccessException;
  //查询所有车辆总数
  int queryAllVehicleCounts(Map<String, Object> paramsMap)throws DataAccessException;
  
}
